The present invention relates to processing of function calls sent to a server from a client computer and determining whether that client computer or the user using the client computer is authorized to run the particular operations required by the function call.
In the development and deployment of server-based computer software applications, developers provide end-users with functions groups that can be called or otherwise invoked individually or as part of a routine from a user's client computer via a network. Function groups are sets of related functions that, when executed on the server computer, often perform common tasks. Some of these common tasks can be determined in advance. In such conventional server-based software deployments, the routines and external functions calls for such tasks are hard-coded into the software applications deployed on the client computers. However, some of the common tasks may not be needed, or even conceived of, prior to the deployment of the function groups to the client computer. Accordingly, there are scenarios in which the common tasks need to be updated or changed.
For example, some security, authorization, and authentication tasks may be hard-coded or otherwise included in the initial compiled deployment of the software applications. However, as the security needs of the user change, or as new security threats are revealed, common security tasks associated with the function group may need to be updated, changed, or replaced. When the common tasks are hard-coded into each of the functions in the functions groups, each change or update requires rewriting or recompiling the code for the functions resident on client or the server computer. Such changes or updates can require augmenting, rewriting, or recompiling many lines of code which is not only time consuming and arduous, but is also extremely error prone.
Hard-coding the common tasks not only makes updating or changing commons task difficult, it also prevents fast and efficient customization of the common tasks for a particular function groups to the needs or requirements of a particular user, because it would require creating unique function groups with custom common tasks for each client. Embodiments of the present disclosure address these and other drawbacks of conventional server-based software applications deployments.